package darknet.core.spec;

import darknet.core.spec.friend.FriendManager;
import darknet.core.spec.net.NetworkManager;
import darknet.application.chat.spec.ChatApplication;
import darknet.application.filesharing.spec.FileSharingApplication;

/**
 * Highest level interface for using the darknet system.
 * 
 * @author Yoyo
 */
public interface Facade {

    /**
     * Get the friend manager.
     * @return
     */
    FriendManager getFriendManager();

    /**
     * Get the network manager.
     * @return
     */
    NetworkManager getNetworkManager();

    /**
     * Get the chat application.
     * @return
     */
    ChatApplication getChatApplication();

    /**
     * Get the file sharing application
     * @return
     */
    FileSharingApplication getFileSharingApplication();
}
